package com.qf.service;

import org.elasticsearch.action.bulk.BulkRequest;

import java.io.IOException;
import java.util.Map;

public interface DocumentService {

    /**
     * 手动指定id，添加文档
     * @param index         索引名
     * @param type          类型名
     * @param id            文档id
     * @param source        文档对应的json
     */
    void addDocument(String index,String type,String id,String source) throws IOException;


    /**
     * 根据id修改文档
     * @param index         索引名
     * @param type          类型名
     * @param id            文档id
     * @param doc           修改的key-value
     */
    void updateDocument(String index, String type, String id, Map doc) throws IOException;


    /**
     * 根据id删除文档
     * @param index         索引名
     * @param type          类型名
     * @param id            文档id
     */
    void deleteDocumentById(String index,String type,String id) throws IOException;


    /**
     * 批量操作
     * @param request  封装indexRequest,UpdateRequest,DeleteRequest
     */
    void bulkDocument(BulkRequest request) throws IOException;

}
